// /*
//  * Created on Mon Jun 11 2018 by Ronnie Ren (zhaosong.ren) from Accenture
//  *
//  * Copyright (c) 2018 DingXin information & technology limited company.
//  */
//
// import {NavController, IonicPage, Platform} from "ionic-angular";
// import {Application} from "../../models/application";
// import {Component, ViewChild} from "@angular/core";
// import {ApplicationsService} from "../../services/applications.service";
// import {AppAvailability} from "@ionic-native/app-availability";
// import {UtilsService} from '../../../../shared/services/utils.services';
//
//
// declare var startApp: any;
// declare let navigator: any;
//
// class ApplicationInfo {
//   readonly application: Application;
//
//   private _appIconURL: string;
//   private _containerClassName: string;
//   private _width: string;
//
//   constructor(application: Application,
//               appIconUrl: string,
//               public navCtrl: NavController,) {
//     this._appIconURL = appIconUrl;
//     this._width = Math.floor((window.screen.width - 32) / 3) + "px";
//     this.application = application;
//   }
//
//
//   get name(): string {
//     return this.application.name;
//   }
//
//   get containerClassName(): string {
//     return this._containerClassName;
//   }
//
//   get widthStyle(): string {
//     return this._width;
//   }
//
//   get isValid(): boolean {
//     return this.application !== null && this.application !== undefined;
//   }
//
//   get appIconURL(): string {
//     return this._appIconURL;
//   }
//
//
// }
//
// interface SectionApplicationInfos {
//   section: string;
//   appInfos: Array<ApplicationInfo>;
// }
//
// @IonicPage({
//   name: "ApplicationsPage",
//   segment: "ApplicationsPage",
//   priority: 'on',
//   defaultHistory: []
// })
//
// @Component({
//   selector: 'applications-page',
//   templateUrl: 'applications.page.html'
// })
// export class ApplicationsPage {
//
//   static maxAppNumsPerLine = 3;
//   private appInfo: ApplicationInfo;
//
//   private _apps: Array<SectionApplicationInfos> = [];
//   constructor(private navController: NavController,
//               private appAvailability: AppAvailability,
//               private platform: Platform,
//               private util: UtilsService,
//               private applicationsService: ApplicationsService) {
//
//     this._apps = applicationsService.fetchApplications().map((appCategory) => {
//       let appList = appCategory.apps.map((app: Application) => new ApplicationInfo(app, app.appIconURL));
//       for (let i = 0; i < (appList.length % ApplicationsPage.maxAppNumsPerLine); i++) {
//         appList.push(new ApplicationInfo(null, ""));
//       }
//       return {section: appCategory.name, appInfos: appList};
//     });
//   }
//
//
//   get sections(): Array<SectionApplicationInfos> {
//     return this._apps;
//   }
//
//   isSectionShown(section: number): boolean {
//     return false;
//   }
//
//   apps(section: number): Array<ApplicationInfo> {
//     return this._apps[section].appInfos;
//   }
//
//   hasRightBorder(appIndex: number): boolean {
//     return false; // (appIndex % 3) !== 2;
//   }
//
//   appTapped(section: number, appIndex: number) {
//     let appInfo = this._apps[section].appInfos[appIndex];
//     if (!appInfo.isValid) {
//       return;
//     }
//     this.appInfo = appInfo;
//     this.logoutVPN(); // 避免与其他App冲突
//   }
//
//   // 断开VPN 连接
//   logoutVPN() {
//     if (navigator.Login) {
//       // TODO 先检查VPN 是否已经连接
//       this.util.showLoading({text: "正在断开VPN连接，请稍后..."});
//       navigator.Login.logoutAndroid(() => {
//           this.util.hiddenLoading();
//           this._startApp(this.platform.is("ios") ? (this.appInfo.application.deeplinkScheme + "://") : this.appInfo.application.id, []);
//         },
//         () => {
//           this.util.hiddenLoading();
//           console.log("logout vpn failed");
//         }
//       );
//     }
//   }
//
//   _startApp(scheme, component: Array<string>) {
//     this.appAvailability.check(scheme).then(
//       (yes: boolean) => {
//         if (this.platform.is("ios")) {
//           startApp.set(scheme).start(() => {
//             // TODO
//           }, (error) => {
//             // TODO
//           });
//         }
//         else {
//           startApp.set({
//             action: "ACTION_MAIN",
//             category: "CATEGORY_DEFAULT",
//             package: scheme,
//             component: component,
//           })
//             .start(() => {
//               console.log("open  success");
//             }, (error) => {
//               console.log("open  failed");
//             });
//         }
//       },
//       (no: boolean) => {
//         alert('应用未安装，请先安装!');
//       }
//     );
//
//   }
//
//
// }
